# 导入操作系统模块
import os

# 导入 Starlette 配置类
from starlette.config import Config

# 创建配置对象，从 .env 文件读取配置
config = Config(".env")

# 读取配置项，支持类型转换和默认值
DEBUG = config("DEBUG", cast=bool, default=False)
DATABASE_URL = config("DATABASE_URL")
SECRET_KEY = config("SECRET_KEY")


# 定义主函数
def main():
    # 打印配置信息
    print(f"DEBUG 模式: {DEBUG}")
    print(f"数据库 URL: {DATABASE_URL}")
    print(f"密钥: {SECRET_KEY}")

    # 导入必要的模块
    from starlette.applications import Starlette
    from starlette.routing import Route
    from starlette.responses import PlainTextResponse
    import uvicorn

    # 定义简单的处理函数
    async def homepage(request):
        return PlainTextResponse(f"配置示例 - DEBUG: {DEBUG}")

    # 创建应用实例
    app = Starlette(routes=[Route("/", homepage)])
    # 启动服务器
    uvicorn.run(app, host="127.0.0.1", port=8000)


# 脚本入口
if __name__ == "__main__":
    main()
